package com.work.vo.main;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.work.constant.DictBizConstant;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.cache.DictBizCache;

/**
 * 理货船舶预报VO
 *
 * @author ：dujianyu
 * @since ：Created in 2024/6/17 9:28
 */
@Data
public class TShipForecastVO {

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "船ID")
    private Long transportShipId;

    @ApiModelProperty(name = "创建人",notes = "")
    private String shipNameZh;

    @ApiModelProperty(name = "预报状态",notes = "")
    private String forecastStatus;

    @ApiModelProperty(name = "预报状态",notes = "")
    private String forecastStatusName;

    public String getForecastStatusName() {
        if (Func.isNull(forecastStatus)) {
            return "";
        }
        return DictBizCache.getValue(DictBizConstant.FORECAST_STATUS, forecastStatus);
    }

    @ApiModelProperty(name = "进口航次",notes = "")
    private String impVoyage;

    @ApiModelProperty(name = "出口航次",notes = "")
    private String expVoyage;

    @ApiModelProperty(name = "进口货名",notes = "")
    private String impCargoType;

    @ApiModelProperty(name = "进口货名",notes = "")
    private String impCargoTypeName;

    @ApiModelProperty(name = "出口货名",notes = "")
    private String expCargoType;

    @ApiModelProperty(name = "出口货名",notes = "")
    private String expCargoTypeName;

    @ApiModelProperty(name = "预报泊位",notes = "")
    private String planBerth;

    @ApiModelProperty(name = "预报泊位",notes = "")
    private String planBerthName;

    @ApiModelProperty(name = "实际泊位",notes = "")
    private String lastBerth;

    @ApiModelProperty(name = "实际泊位",notes = "")
    private String lastBerthName;
}
